Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR improves object's types.
Before
any
with

keys
- output schema isany
with

append
- output schema not changedwith

rename
- no key completion, output schema not changedwith

with
- no key's completionwith

without
- no key's completionAfter
regular object usage incorporates the object type that was passed


which means that calling to
attempt
returns the object type properlyusing


keys
without provided object
extending provided object
with


append
append
with null or undefined not changing the original objappending new object keys
with


rename
- key completion, output schema changedwith


with
- key completioncompletes the rest of the keys (since
.with('foo', 'foo')
doesn't make sense)with


without
- same aswith
closes #2978